function checkNum(t) {
  return Number(t.substring(t.indexOf("/") + 1, t.indexOf(")"))) - Number(t.substring(t.indexOf("(") + 1, t.indexOf("/")));
}
function get_todo_list() {
  var n = new Array();
  return (
    className("android.widget.ListView")
      .findOne()
      .children()
      .forEach((i) => {
        var e = i.findOne(className("android.widget.Button").textContains("浏览"));
        if (null != e) {
          var t = e.parent().child(0).child(0).text();
          checkNum(t) && n.push(e);
        }
      }),
    n
  );
}

// console.show();
console.hide();
var todo_list = get_todo_list();
console.log("脚本启动成功：", todo_list.length);
todo_list.forEach((child) => {
  // 单击按钮，等待加载两秒 进入浏览
  var LoopFlag;
  do {
    var cnt = 0;
    while (true) {
      console.log("等待任务列表加载");
      if (className("android.widget.ListView").findOne(1500)) break;
      if (cnt++ > 3) {
        cnt = 0;
        back();
      }
      if (currentPackage() != "com.taobao.taobao") {
        toastLog("已经不是淘宝界面了，脚本终止");
        exit();
      }
      // TODO 继续退出 按钮 监听到，即点击自动退出
      // if ()
    }
    var text = child.parent().child(0).child(0).text();
    LoopFlag = checkNum(text);
    toastLog(text);
    sleep(1500);
    console.verbose("Loop Again");
    child.click();
    toastLog("点击去浏览");
    sleep(2000);
    {
      var cnt = 1;
      while (true) {
        if (cnt++ > 3) {
          toastLog("不等了\n直接开始滑动");
          sleep(1500);
          break;
        }
        toastLog("检验是否加载完成...");
        sleep(1500);
        if (className("android.view.View").desc(" 浏览店铺").findOne(500)) break;
        if (className("android.view.View").textContains("浏览店铺").findOne(500)) break;
        if (className("android.view.View").desc("浏览15秒").findOne(500)) break;
        if (className("android.view.View").textContains("浏览15秒").findOne(500)) break;
        if (className("android.view.View").desc(" 滑动浏览得奖励").findOne(500)) break;
        if (className("android.view.View").textContains("滑动浏览").findOne(500)) break;
        if (className("android.view.View").textContains("继续逛逛").findOne(500)) break;
      }
    }
    // 等待计时完成
    {
      toastLog("原地等待任务完成");
      var cnt = 0;
      while (true) {
        cnt += 2;
        toastLog("正在等待任务完成：" + cnt);
        // 开始模拟上下滑动
        {
          sleep(600);
          swipe(device.width / 2, device.height / 3, device.width / 2, (2 * device.height) / 3, 800);
          sleep(600);
          swipe(device.width / 2, (2 * device.height) / 3, device.width / 2, device.height / 3, 800);
        }
        if (className("android.view.View").desc(" 任务完成").findOne(1062)) break;
        if (className("android.view.View").text("任务已完成").findOne(1062)) break;
        if (className("android.view.View").desc("任务完成").findOne(1062)) break;
        if (className("android.view.View").text("任务完成").findOne(1062)) break;
        if (className("android.view.View").text("任务已经").findOne(1062)) break;
        if (className("android.view.View").desc("任务已经").findOne(1062)) break;
        if (className("android.view.View").textContains("继续逛逛").findOne(500)) break;
        if (className("android.view.View").desc("继续逛逛").findOne(500)) break;
        if (cnt > 10) break;
      }
      toastLog("多等两秒");
      sleep(2000);
      toastLog("任务已完成 ヾ(^▽^*)))");
    }
    // 模拟按键返回
    {
      sleep(2000);
      back();
    }
    // */
  } while (LoopFlag > 1);
});
// sleep(2000);
console.hide();
toastLog("我能刷的都刷完了，拜拜～");
exit();
